home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 235 / Issue 235 - September 2007 - DPCS0907DVD.ISO / Extras / NetObjects Fusion / NOF10.exe / data1.cab / FSI / lib / nof / publish / Aliases.js < prev    next >
Encoding:
Text File  |  2007-04-11  |  4.9 KB  |  148 lines

  1. /****i* SOURCE_FILE/INFO
  2. *
  3. * NAME
  4. *    Aliases.js
  5. *
  6. * USAGE
  7. *    Part of WPS JavaScript Library.
  8. *
  9. * COPYRIGHT
  10. *    Copyright ⌐ 2000-2001 Website Pros, Inc.
  11. *    All Rights Reserved.
  12. *
  13. *  This is an unpublished work protected by Website Pros, Inc.
  14. *  as a trade secret, and is not to be used or disclosed except as
  15. *  expressly provided in a written license agreement executed by
  16. *  you and Website Pros, Inc.
  17. *
  18. *      <copyright@websitepros.com>
  19. *
  20. * NOTES
  21. *    JavaScript code.
  22. *
  23. *****/
  24. if (!IS.isModuleInitialized("IS.NOF.PUBLISH.Aliases"))
  25.     /** 
  26.     * Class Aliases
  27.     * External dependencies: NOF.XML.XmlDocument
  28.     **/
  29.     function NOF_Aliases( /*String*/ xml) {
  30.         this.__proto__ = NOF_Aliases.prototype;
  31.         
  32.           this.xmlAliases = NOF.XML.XmlDocument.create(); 
  33.           this.xmlAliases.loadXML( xml );
  34.         
  35.         return this;
  36.     }
  37.     {      
  38.         var members = NOF_Aliases.prototype;
  39.         members.CLASS_NAME = "Aliases";
  40.         
  41.         var methods = NOF_Aliases.prototype;
  42.         
  43.         /**
  44.         * add.
  45.         **/
  46.         methods.add = function (/*String*/ url, /*String*/ path) {
  47.             //NOF.util_logging_ConsoleLogger_global.info("Add PublishSettingsAliases in");
  48.             var node = this.xmlAliases.documentElement.selectSingleNode("/virtualFolders");
  49.             if (node == null) {
  50.                 //NOF.util_logging_ConsoleLogger_global.info("Add PublishSettingsAliases");
  51.                 var newElem = this.xmlAliases.createElement("virtualFolders");
  52.                 var newVirFold = this.xmlAliases.createElement("virtualFolder");
  53.                 var newURL = this.xmlAliases.createElement("urlPath");
  54.                 var newPATH = this.xmlAliases.createElement("ftpPath");
  55.                 newURL.appendChild(this.xmlAliases.createTextNode(url));
  56.                 newPATH.appendChild(this.xmlAliases.createTextNode(path));
  57.                 newVirFold.appendChild(newURL);
  58.                 newVirFold.appendChild(newPATH);
  59.                 newElem.appendChild(newVirFold);
  60.                 this.xmlAliases.documentElement.appendChild(newElem);
  61.             } else {
  62.                 //NOF.util_logging_ConsoleLogger_global.info("Add PublishSettingsAliases 1");
  63.                 var nodeAlias = this.xmlAliases.documentElement.selectSingleNode(
  64.                                 "/virtualFolders/virtualFolder[urlPath = '" + url + "']");
  65.                 if (nodeAlias != null) {
  66.                     //NOF.util_logging_ConsoleLogger_global.info("Add PublishSettingsAliases 2");
  67.                     return; //already exists
  68.                 }
  69.                 //NOF.util_logging_ConsoleLogger_global.info("Add PublishSettingsAliases 3");
  70.                 var newVirFold = this.xmlAliases.createElement("virtualFolder");
  71.                 var newURL = this.xmlAliases.createElement("urlPath");
  72.                 var newPATH = this.xmlAliases.createElement("ftpPath");
  73.                 newURL.appendChild(this.xmlAliases.createTextNode(url));
  74.                 newPATH.appendChild(this.xmlAliases.createTextNode(path));
  75.                 newVirFold.appendChild(newURL);
  76.                 newVirFold.appendChild(newPATH);
  77.                 node.appendChild(newVirFold);
  78.                 //NOF.util_logging_ConsoleLogger_global.info("Add PublishSettingsAliases 4");
  79.             }
  80.         }
  81.         /**
  82.         * removeAlias.
  83.         **/
  84.         methods.removeAlias = function (/*String*/ url) {
  85.             var node = this.xmlAliases.documentElement.selectSingleNode(
  86.                             "//virtualFolder[urlPath = '" + url + "']");
  87.             //NOF.util_logging_ConsoleLogger_global.info("Aliases - remove 1");
  88.             if (node != null) {
  89.                 //NOF.util_logging_ConsoleLogger_global.info("Aliases - remove 2");
  90.                 var parNode = node.parentNode;
  91.                 //NOF.util_logging_ConsoleLogger_global.info("Aliases - remove 3");
  92.                 parNode.removeChild(node);
  93.                 //NOF.util_logging_ConsoleLogger_global.info("Aliases - remove 4");
  94.             }
  95.         }
  96.  
  97.         /**
  98.         * iterator.
  99.         **/
  100.         methods.iterator = function () {
  101.             var nodes = this.xmlAliases.documentElement.selectNodes(
  102.                             "//virtualFolder");
  103.             
  104.             var aliasList = new Array();
  105.             
  106.             //NOF.util_logging_ConsoleLogger_global.info("PublishSettingsAliases: iterator");
  107.             if (nodes != null)
  108.             {
  109.                 //NOF.util_logging_ConsoleLogger_global.info("PublishSettingsAliases: iterator1");
  110.                 var aliaslength = nodes.length;
  111.                 //NOF.util_logging_ConsoleLogger_global.info("PublishSettingsAliases: iterator2 " + aliaslength);
  112.                 for (var i = 0; i < aliaslength; i++)
  113.                 {
  114.                     //NOF.util_logging_ConsoleLogger_global.info("PublishSettingsAliases: iterator2 ");
  115.                     var aliasXML = nodes.item(i);//nodes.nextNode();
  116.                     if (aliasXML)
  117.                     {
  118.                         var oNodeList = aliasXML.childNodes;
  119.                         //NOF.util_logging_ConsoleLogger_global.info("PublishSettingsAliases: iterator2 ");
  120.                         var alias = new NOF.PUBLISH.Alias(oNodeList.item(0).text, oNodeList.item(1).text);
  121.                         aliasList[aliasList.length] = alias;
  122.                     }
  123.                 }
  124.                 //NOF.util_logging_ConsoleLogger_global.info("PublishSettingsAliases: iterator3 ");
  125.             }
  126.             
  127.             return new NOF.UTIL.Iterator(aliasList);
  128.         }        
  129.  
  130.         /**
  131.         * toXML
  132.         **/
  133.         methods.toXML = function () {
  134.             return this.xmlAliases.xml;
  135.         }
  136.         /**
  137.         * createFromXML.
  138.         **/
  139.         methods.createFromXML = function (/*String*/ xml) {
  140.             this.xmlAliases = NOF.XML.XmlDocument.create(); 
  141.             this.xmlAliases.loadXML( xml );
  142.         }
  143.  
  144.     }    
  145.     
  146.     NOF.PUBLISH.__proto__.Aliases = NOF_Aliases;
  147. }